package pokpok.domaine;

public enum Grade {
	DEUX_DE_TENSION("Deux de tension en colère", null, -1), //
	FANTOME_DU_LASER("Fantôme du laser", 0, 99), //
	MOLLUSQUE("Mollusque de la gachette", 100, 199), //
	SERGENT_LASER("Sergent laser", 200, 299), //
	CHACAL_EN_RUT("Chacal en rut", 300, 399), //
	ZOMBIE_TERRORISTE("Zombie terroriste", 400, 499), //
	AMIRAL_STELLAIRE("Amiral Stellaire", 500, 699), //
	SPACE_MARINE("Space marine", 700, 999), //
	LASER_TEACHER("Laser teacher", 1000, 1499), //
	COSMIC_KILLER("Cosmic killer", 1500, 1899), //
	NOUVEL_EMPEREUR("Nouvel Empereur", 1900, null), //
	;
	private String nom;
	private Integer min;
	private Integer max;

	private Grade(String nom, Integer min, Integer max) {
		this.nom = nom;
		this.min = min;
		this.max = max;
	}

	public static Grade getGrade(int net) {
		for (Grade grade : Grade.values()) {
			if (grade.getMin() == null) {
				if (net <= grade.getMax()) {
					return grade;
				}
			} else if (grade.getMax() == null) {
				if (net >= grade.getMin()) {
					return grade;
				}
			} else if (net >= grade.getMin() && net <= grade.getMax()) {
				return grade;
			}
		}
		return null;
	}

	public String getNom() {
		return nom;
	}

	public Integer getMin() {
		return min;
	}

	public Integer getMax() {
		return max;
	}
}
